package grape.attend.service.user.po;

import grape.common.service.po.NormalBasePo;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.Version;
import java.io.Serializable;
import java.util.Date;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 用户打卡表
 * </p>
 *
 * @author yangwei
 * @since 2020-05-18
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("attend_user_clock")
public class UserClock extends NormalBasePo<UserClock> {

    private static final long serialVersionUID = 1L;

    /**
     * 考勤组id
     */
    private String groupId;

    /**
     * 班次id
     */
    private String classeId;

    /**
     * 用户打卡日期id
     */
    private String userClockDateId;

    /**
     * 上班打卡类型
     */
    private String onClockTypeDictId;

    /**
     * 上班打卡类型的描述信息
     */
    private String onClockTypeInfo;

    /**
     * 上班打卡时间
     */
    private Long onClockAt;
    /**
     * 上班应该在该时间以前打卡
     */
    private Long onClockShouldAt;

    /**
     * 上班是否迟到
     */
    private Boolean isOnClockLate;

    /**
     * 上班如果迟到，迟到分钟数
     */
    private Integer onClockLateTime;
    /**
     * 下班打卡类型
     */
    private String offClockTypeDictId;

    /**
     * 下班打卡类型的描述信息
     */
    private String offClockTypeInfo;

    /**
     * 是否上班晚到，仅支持下班晚走第二天可以晚到设置
     */
    private Boolean isOnClockLateArrive;
    /**
     * 如果上班晚到了，晚到的分钟数
     */
    private Integer onClockLateArrive;

    /**
     * 下班打卡时间
     */
    private Long offClockAt;
    /**
     * 下班应该在该时间以后打卡
     */
    private Long offClockShouldAt;
    /**
     * 下班是否早退
     */
    private Boolean isOffClockLeaveEarly;

    /**
     * 下班如果早退，早退分钟数
     */
    private Integer offClockLeaveEarlyTime;
    /**
     * 下班如果晚走了，晚走的分钟数
     */
    private Integer offClockLateLeave;

    /**
     * 是否下班晚走，仅支持下班晚走第二天可以晚到设置
     */
    private Boolean isOffClockLateLeave;

    /**
     * 备注
     */
    private String remark;


    @Override
    protected Serializable pkVal() {
        return null;
    }

}
